<template>
  <div>
    <!-- <h1>login</h1>
    账号：
    <input v-model="username" />
    密码：
    <input v-model="password" />
    <button @click="loginClick">登陆</button> -->

    <van-form @submit="onSubmit">
      <van-field
        v-model="username"
        name="username"
        label="用户名"
        placeholder="用户名"
        :rules="[{ required: true, message: '请填写用户名' }]"
      />
      <van-field
        v-model="password"
        type="password"
        name="password"
        label="密码"
        placeholder="密码"
        :rules="[{ required: true, message: '请填写密码' }]"
      />
      <div style="margin: 16px">
        <van-button round block type="info" native-type="submit">
          提交
        </van-button>
      </div>
    </van-form>
  </div>
</template>

<script>
// 如何在组件中使用vuex？
import axios from 'axios'
// 1. 通过引入vuex访问vuex的东西
// 2. 通过this访问vuex的方法
import { mapState, mapGetters, mapMutations, mapActions } from 'vuex'

// mapState, mapGetters, 对应的使用在computed中
// mapMutations mapActions, 对应使用在methods中

export default {
  data() {
    return {
      username: '',
      password: '',
    }
  },
  methods: {
    // 映射的vuex中actions中的内容
    ...mapActions(['getLogin']),
    onSubmit(values) {
      this.getLogin(values)
        .then((res) => {
          console.log('获取的vuex中action给我的返回值:', res)
          this.$router.push('/home')
        })
        .catch((err) => {
          console.log(err, 'err')
        })
    },
  },
}
</script>

<style></style>
